import request from '@/utils/request'

// 用户API前缀
const API_PREFIX = '/user'

// 用户相关API
export default {
  /**
   * 用户登录
   * @param {Object} data - 登录信息
   * @param {string} data.username - 用户名
   * @param {string} data.password - 密码
   * @param {string} data.captcha - 验证码
   * @returns {Promise} - 返回登录结果
   */
  login(data) {
    return request.post(`${API_PREFIX}/login`, data)
  },

  /**
   * 用户注册
   * @param {Object} data - 注册信息
   * @returns {Promise} - 返回注册结果
   */
  register(data) {
    return request.post(`${API_PREFIX}/register`, data)
  },

  /**
   * 获取用户信息
   * @returns {Promise} - 返回用户信息
   */
  getInfo() {
    return request.get(`${API_PREFIX}/info`)
  },

  /**
   * 修改用户信息
   * @param {Object} data - 用户信息
   * @returns {Promise} - 返回修改结果
   */
  updateInfo(data) {
    return request.put(`${API_PREFIX}/info`, data)
  },

  /**
   * 修改密码
   * @param {Object} data - 密码信息
   * @param {string} data.oldPassword - 旧密码
   * @param {string} data.newPassword - 新密码
   * @returns {Promise} - 返回修改结果
   */
  changePassword(data) {
    return request.put(`${API_PREFIX}/password`, data)
  },

  /**
   * 上传头像
   * @param {File} file - 头像文件
   * @param {Function} onProgress - 上传进度回调
   * @returns {Promise} - 返回上传结果
   */
  uploadAvatar(file, onProgress) {
    return request.upload(`${API_PREFIX}/avatar`, file, onProgress)
  },

  /**
   * 退出登录
   * @returns {Promise} - 返回退出结果
   */
  logout() {
    return request.post(`${API_PREFIX}/logout`)
  },

  /**
   * 获取验证码
   * @returns {Promise} - 返回验证码图片
   */
  getCaptcha() {
    return request.get(`${API_PREFIX}/captcha`)
  }
} 